努力拼了幾天Q-learning,接下來就要連續幾天小恐龍實作囉XD~
之前介紹過gym跟baselines組合,讓agent跟environment的兩者互動方式非常清晰,但因為個別模組化的太好,不容易把程式碼拆開逐行介紹,我們這邊來使用一個很久前的Q-learning實作架構 繼承下來實作離線小恐龍,基本上就遊戲一直開著,然後用python主程序會不斷跟它交互。順便介紹原作者是台灣清華大學厲害的學者哦~阿阿是台灣之光啊http://yclin.me/XDD
不知道大家熟不熟悉它,公司網路斷掉的時候,趁網路還沒恢復,會跟旁邊同事pk誰跑比較遠XDD不過其實不用離線,只要在chrome上網址輸入chrome://dino 就可以玩囉~跑得越遠,遊戲速度會越來越快,而且除了仙人掌還會有直撲而來的小鳥XD 但撐的越久分數也隨之越高不過這裡補充,由於我們初步是要讓小恐龍成功用RL跑基本難度,所以首先我們用程式做些設定,例如速度呀跟飛過來的小鳥都去掉了,等普通難度的跑起來,可以再玩更進階版本的試試看XD
接下來我們要寫程式跟瀏覽器交互,畢竟我們不是像是用gym套好的框架,所以基本上是挽起袖子自定義實作。不過別擔心,也已經有做好的套件,selenium跟引擎chromedirver,我們只要下載套件,讓主程序跟Q-learning結合,整體就可輕鬆訓練小恐龍拉~